The present invention relates to a delay time calculating method for use in a hierarchical design, and more specifically to a delay time calculating method for use in a hierarchical design, capable of accurately calculating the relation between the delay amount of a partial chain and the delay amount of a whole chain.
In a circuit design, a delay of a partial buffer chain of chained buffers is calculated. In comparison with the whole of the chained buffers, the partial buffer chain is considered to be a low level layer in a hierarchical design. The delay time calculating method for use in the hierarchical design is known as shown in FIG. 5, in which the reference signs T$01 to T$13 designate buffers, respectively. In the example shown in FIG. 5, a xe2x80x9c0xe2x80x9dth level layer, that is the whole of the chained buffers T$01 to T$13, is called a top layer or an upper level layer. From the top layer, a partial buffer chain, that is a part of the whole, is cut out as a xe2x80x9cMacro Axe2x80x9d. This xe2x80x9cMacro Axe2x80x9d is called a low level layer or a first level layer. The remaining top layer is constituted of a partial chain consisting of the buffers T$01 to T$3, and another partial chain consisting of the buffers T$11 to T$13. The xe2x80x9cMacro Axe2x80x9d is constituted of still another partial chain consisting of the buffers T$4 to T$10.
In accordance with a prior delay time calculating method for the above mentioned hierarchical structure, the delay of the xe2x80x9cMacro Axe2x80x9d constituted of the chained buffers T$4 to T$10 is calculated, and the obtained delay amount is annotated as a first annotation (Step S1) Then, the delay of the top layer constituted of the buffers T$01 to T$3 and T$11 to T$13 is calculated, and the obtained delay amount is annotated as a second annotation (Step S2). Finally, the sum of the first annotation and the second annotation is calculated, so that the delay amount of the whole is obtained.
In this calculation, however, the existence of delay influence factors xe2x80x9cCloadxe2x80x9d and xe2x80x9cTrfxe2x80x9d shown in FIG. 4 is disregarded. FIG. 4 shows some number of chained (or cascaded) buffers I$01 to I$03 for illustrating the delay influence factors existing between each pair of adjacent buffers in the buffer chain. The delay influence factors xe2x80x9cCloadxe2x80x9d and xe2x80x9cTrfxe2x80x9d are a delay factor such as a dull of a waveform appearing when a voltage waveform inputted to or outputted from a circuit element is delayed because of the influence of the circuit element concerned and/or a preceding or succeeding circuit element. Precisely considering the delay time of a middle buffer I$02, the delay time of a middle buffer I$02 is influenced by the delay influence factors xe2x80x9cCloadxe2x80x9d and xe2x80x9cTrfxe2x80x9d generated between the preceding buffer I$01 and the buffer I$02 when an input of the buffer I$02 is connected to an output of the buffer I$01 since the buffers I$01 and I$02 dynamically mutually influence each other, and the delay influence factor xe2x80x9cCloadxe2x80x9d generated between the buffer I$02 and the succeeding buffer I$03 when an output of the buffer I$02 is connected to an input of the buffer I$03 since the buffers I$02 and I$03 dynamically mutually influence each other. At the buffers at a boundary (node xe2x80x9caxe2x80x9d and xe2x80x9cbxe2x80x9d) between the xe2x80x9cMacro Axe2x80x9d and the top layer, namely, at the buffer at a boundary of each of partial chains obtained by cutting out the buffer chain, these delay influence factors are not added in the delay calculation, and therefore, a delay amount caused by these delay influence factors is not propagated to a next buffer. As a result, an I/O path interconnection based on the delay influence (called an xe2x80x9cinterrelated delayxe2x80x9d hereinafter) is not calculated, and accordingly, a correct delay value is not obtained at a boundary between different level layers in the hierarchical structure.
Therefore, it is demanded to calculate the correct delay value at a boundary between different level layers in the hierarchical structure.
Accordingly, it is an object of the present invention to provide a delay time calculating method for use in a hierarchical design, capable of calculating the correct delay value at a boundary between different level layers in the hierarchical structure.
In order to achieve the above and other objects of the present invention, the following delay time calculating method for use in a hierarchical design is provided in accordance with the present invention. In the following delay time calculating method in accordance with the present invention for use in a hierarchical design, the parenthesized reference signs corresponds to reference signs given in one or more embodiments of the present invention which will be described later with reference to the drawings, and added only for clarifying the relation between technical matters recited in the delay time calculating method in accordance with the present invention and constituents in the one or more embodiments of the present invention. Therefore, it should be noted that the parenthesized reference signs never limit the claimed invention to the embodiments of the present invention which will be described later with reference to the drawings.
According to the present invention, there is provided a delay time calculating method for use in a hierarchical design, the method comprising the steps of dividing a whole chain (T$01 to T$13) to generate a first partial chain (T$04 to T$ 10) and a second partial chain (T$01 to T$03, T$11 to T$13), calculating a first delay amount (TD(4-10)) of the first partial chain (T$04 to T$10), generating a third partial chain (T$01 to T$05, T$09 to T$13) consisting of the second partial chain (T$01 to T$03, T$11 to T$13) and a plurality of chain elements (T$04 to T$05, T$09 to T$10) included in an end region of the first partial chain (T$04 to T$10), calculating a second delay amount (TD(1-5), TD(9-13)) of the third partial chain (T$01 to T$05, T$09 to T$13), separating an end chain element (T$05, T$09) of the above mentioned plurality of chain elements (T$04 to T$05, T$09 to T$10) from the third partial chain (T$01 to T$05, T$09 to T$13) to calculate a third delay amount (D(5), D(9)) of the end chain element (T$05, T$09), subtracting the third delay amount (D(5), D(9)) from the second delay amount (TD(1-5), TD(9-13)) to obtain a fourth delay amount (TD(1-4), TD(10-13)), and overwriting the fourth delay amount (TD(1-4), TD(10-13)) to the first delay amount (TD(4-10)) in units of chain elements to calculate the delay amount (TD(1-13)) of the whole chain.
The calculation of the second delay amount (TD(1-5), TD(9-13)) is not accurate in connection with the calculation of the delay amount of the end chain element (T$05, T$09) of the above mentioned plurality of chain elements (T$04 to T$05, T$09 to T$10) included in the third partial chain (T$01 to T$05, T$09 to T$13). However, the fourth delay amount (TD(1-4), TD(10-13)) is accurate since it is obtained by subtracting from the second delay amount (TD(1-5), TD(9-13)) the third delay amount (D(5), D(9)), which is the delay time of the end chain element (T$05, T$09) of the above mentioned plurality of chain elements (T$04 to T$05, T$09 to T$10) included in the third partial chain (T$01 to T$05, T$09 to T$13). Furthermore, the delay amount of the end region (T$04, T$10) of the first partial chain (T$04 to T$10) is also not accurate. However, this inaccuracy is removed by overwriting the fourth delay amount (TD(1-4), TD(10-13)) to the first delay amount (TD(4-10)) in units of chain elements. Thus, the accurate delay amount (TD(1-13)) of the whole chain can be obtained, and in the whole chain, the delay amount of the partial chain can be accurately obtained. The delay amount of the partial chain thus obtained can be utilized any times in the course of a simulation. In particular, the fourth delay amount of the partial chain can be utilized any time for the overwriting.
In the above mentioned method, the end chain element of the plurality of chain elements included in the end region of the first partial chain may be a plurality of end chain elements (T$05 to T$06, T$08 to T$09) of at least three chain elements (T$04 to T$06, T$08 to T$10) included in the end region of the first partial chain. This pluralization is effective in elevating the degree of accuracy in the calculation of the delay amount.
Both of the first partial chain and the second partial chain are part of the whole chain. The whole chain is constituted of the first partial chain and the second partial chain, regardless of how the upper level layer and the lower level layer is defined in the hierarchical structure. Accordingly, the first partial chain may be either a cut-out part or the remaining part as the result of the cutting-out.
According to another aspect of the present invention, there is provided a delay time calculating method for use in a hierarchical design, the method comprising the steps of generating a first partial chain (T$04 to T$10 or T$01 to T$05) and a second partial chain (T$01 to T$05 or T$04 to T$10) from a whole chain (T$01 to T$13), each of the first partial chain and the second partial chain having an overlapping end region which includes a plurality of chain elements (T$04 to T$05) also included in an overlapping end region of the other partial chain, calculating a first delay amount (TD(4-10) or TD(1-5)) of the first partial chain and a second delay amount (TD(1-5) or TD(4-10)) of the second partial chain, separating an end chain element (T$05 or T$04) included in the overlapping end region from the second partial chain, calculating a third delay amount (D(5) or D(4)) of the separated end chain element (T$05 or T$04), subtracting the third delay amount (D(5) or D(4)) from the second delay amount (TD(1-5) or TD(4-10)) to obtain a fourth delay amount (TD(1-4) or TD(5-10)), and overwriting the fourth delay amount (TD(1-4) or TD(5-10)) to the first delay amount (TD(4-10) or TD(1-5)) in units of chain elements. Here, the overwriting is executed in the chain elements in the overlapping portion excluding the cut-out chain element.
Also in the above mentioned method in accordance with the second aspect of the present invention, the overlapping end region of each of the first partial chain and the second partial chain can include at least three chain elements, and a plurality of chain elements included in the overlapping end region can be separated from the second partial chain. This pluralization is effective in elevating the degree of accuracy in the calculation of the delay amount.
The above and other objects, features and advantages of the present invention will be apparent from the following description of preferred embodiments of the invention with reference to the accompanying drawings.